package com.ruoyi.common.core.domain.entity.system;

import lombok.Data;

import java.math.BigDecimal;

/**
 * 船舶工况信息对象 boat_machine_working_info
 *
 * @author zjw
 * @date 2024-01-19
 */
@Data
public class BoatMachineWorkingInfo extends BoatStatusInfo {
    private static final long serialVersionUID = 1L;

    /**
     * 船舶工况信息id
     */
    private Long id;

    /**
     * 船舶机型ID。
     * <p>
     * 0x0001:本埠电控直列柴油机
     * 0x0002:本埠机械泵柴油机
     * 0x0003:本埠电控 V 型柴油机
     * 0x0004:本埠 WH28/WH32 柴油机
     * 0x0005:气体机
     * 0x0006:双燃料
     * 0x0007:重潍柴柴油机
     */
    private Integer machineModelId;

    /**
     * 转速。2个字节，系数：0.125rpm/bit，偏移量：0，精度：1，单位：rpm
     */
    private Integer speed;

    /**
     * 扭矩。4个字节，系数：1N·m/bit，偏移量：0，精度：1，单位：N·m
     */
    private Long torque;

    /**
     * 负荷率。1个字节，系数：1%/bit，偏移量：0，精度：1%，单位：%
     */
    private Short loadRate;

    /**
     * 油门开度。1个字节，系数：0.4%/bit，偏移量：0，精度：0.1%，单位：%
     */
    private BigDecimal throttleOpening;

    /**
     * 瞬时油耗。2个字节，系数：0.05L/h/bit，偏移量：0，精度：0.1，单位：L/h
     */
    private BigDecimal instantFuelConsumption;

    /**
     * 累计油耗。4个字节，系数：0.5L/bit，偏移量：0，精度：1，单位：L
     */
    private Long accumulateFuelConsumption;

    /**
     * 发动机运行时间。4个字节，系数：0.05h/bit，精度：0.1，单位：h
     */
    private BigDecimal engineOperateTime;

    /**
     * 机油温度。2个字节，系数：0.03125℃/bit，偏移量：-273，精度：1，单位：℃
     */
    private Integer engineOilTemp;
    /**
     * 机油压力。1个字节，系数：4kPa/bit，偏移量：0，精度：0.01，单位：Mpa
     */
    private BigDecimal engineOilPressure;
    /**
     * 出水温度。1个字节，系数：1℃/bit，偏移量：-40，精度：1，单位：℃
     */
    private Short outWaterTemp;
    /**
     * 排气温度。2个字节，系数：0.125℃/bit，偏移量：-273，精度：1，单位：℃
     */
    private Integer exhaustGasTemp;
    /**
     * 进气压力。1个字节，系数：2kPa/bit，偏移量：0，精度：1，单位：kPa
     */
    private Short inGasPressure;
    /**
     * 进气温度。1个字节，系数：1℃/bit，偏移量：-40，精度：1，单位：℃
     */
    private Short inGasTemp;
    /**
     * 蓄电池电压。2个字节，系数：0.05V/bit，偏移量：0，精度：0.1，单位：V
     */
    private BigDecimal storageBatteryVoltage;
    /**
     * 燃油温度。1个字节，系数：1℃/bit，偏移量：-40，精度：1，单位：℃
     */
    private Short fuelOilTemp;
    /**
     * 燃油精滤后压力。1个字节，系数：4kPa/bit，偏移量：0，精度：0.01，单位：Mpa
     */
    private BigDecimal fuelOilAfterFilteredPressure;
    /**
     * 燃油精滤前压力。1个字节，系数：4kPa/bit，偏移量：0，精度：0.01，单位：Mpa
     */
    private BigDecimal fuelOilBeforeFilteredPressure;
    /**
     * 设定轨压。2个字节，系数：100hpa/bit，偏移量：0，精度：1，单位：hpa
     */
    private Integer settingTrackPressure;
    /**
     * 实际轨压。2个字节，系数：100hpa/bit，偏移量：0，精度：1，单位：hpa
     */
    private Integer reallyTrackPressure;
    /**
     * 燃油负压。1个字节，系数：1kPa/bit，偏移量：-125，精度：0.01，单位：kPa
     */
    private BigDecimal fuelOilNegativePressure;
    /**
     * 曲轴箱压力。1个字节，系数：0.4hpa/bit，偏移量：-50，精度：1，单位：hpa
     */
    private Short crankcasePressure;
    /**
     * 机油滤前压力。1个字节，系数：4kPa/bit，偏移量：0，精度：0.01，单位：Mpa
     */
    private BigDecimal engineOilBeforeFilteredPressure;

}
